set ( header_files
./Base/Object.h
./Base/Ref/Careful.h
./Base/Ref/MultiThreaded.h
./Base/Ref/SingleThreaded.h
./Base/Referenced.h
./Registry/Node.h
./Registry/Visitor.h
./Registry/Database.h
./User/Directory.h
./IO/TextReader.h
./IO/Vector4.h
./IO/Vector3.h
./IO/BinaryWriter.h
./IO/Vector2.h
./IO/Matrix44.h
./IO/BinaryReader.h
./IO/Redirect.h
./IO/TextWriter.h
./Convert/WellKnownBinary.h
./Convert/Qt.h
./Convert/Vector4.h
./Convert/Vector3.h
./Convert/StringList.h
./Convert/Quaternion.h
./Convert/Vector2.h
./Convert/Matrix44.h
./Convert/Convert.h
./Convert/Generic.h
./Atomic/Object.h
./Atomic/Container.h
./Atomic/Bool.h
./Atomic/String.h
./Atomic/Integer.h
./Adapters/Ignore.h
./Adapters/Value.h
./Adapters/Compare.h
./Adapters/Not.h
./Adapters/If.h
./Adapters/Compose.h
./System/Sleep.h
./System/UniqueId.h
./System/Environment.h
./System/Host.h
./System/DateTime.h
./System/LastError.h
./System/ProcessUnix.h
./System/Clock.h
./System/Process.h
./Interfaces/IUnknown.h
./Interfaces/IDestroyObject.h
./Interfaces/IReferenceCount.h
./Interfaces/IPlugin.h
./Interfaces/IActiveViewListener.h
./Interfaces/IDocumentGet.h
./Interfaces/IDocumentView.h
./Interfaces/IFileDocument.h
./Interfaces/IModifiedSubject.h
./Interfaces/IClearObject.h
./Interfaces/IRead.h
./Interfaces/IMenubar.h
./Interfaces/IPropertyEditorAccept.h
./Interfaces/IPropertyEditor.h
./Interfaces/IModifiedListener.h
./Interfaces/IDocumentFilters.h
./Interfaces/IDocumentCreate.h
./Interfaces/IActiveDocumentListener.h
./Interfaces/IViewCreate.h
./CommandLine/Arguments.h
./Scope/StreamState.h
./Scope/Reset.h
./Scope/Call.h
./Scope/Caller.h
./Scope/RemoveFile.h
./Pointers/Intrusive.h
./Pointers/Functions.h
./Pointers/QueryPointer.h
./Pointers/SmartPointer.h
./Pointers/DynamicCastPointer.h
./Pointers/Pointers.h
./Bits/Bits.h
./Jobs/Handle.h
./Jobs/Job.h
./Jobs/Queue.h
./Jobs/Manager.h
./Plugins/Library.h
./Plugins/Manager.h
./Plugins/Helper.h
./Exceptions/Exceptions.h
./Threads/WindowsMutex.h
./Threads/UnixMutex.h
./Threads/FakeMutex.h
./Threads/Check.h
./Threads/Safe.h
./Threads/ThreadId.h
./Threads/Mutex.h
./Threads/Guard.h
./Preprocess/Deprecated.h
./Preprocess/Singleton.h
./Preprocess/UniqueName.h
./Strings/Format.h
./Predicates/UnaryPair.h
./Predicates/CloseFloat.h
./Errors/Assert.h
./Config/Config.h
./MPL/SameType.h
./MPL/TypeWrap.h
./MPL/StaticAssert.h
./Commands/Commands.h
./Functions/NoThrow.h
./Documents/Manager.h
./Documents/FileDocument.h
./Documents/Document.h
./Factory/ScopedRegistration.h
./Factory/BaseCreator.h
./Factory/RegisterCreator.h
./Factory/TypeCreator.h
./Factory/BaseFactory.h
./Factory/ObjectFactory.h
./Algorithms/TriStrip.h
./Algorithms/Sphere.h
./Export/Export.h
./Math/Ellipse.h
./Math/Box.h
./Math/Functions.h
./Math/NaN.h
./Math/Vector4.h
./Math/Vector3.h
./Math/Absolute.h
./Math/Quaternion.h
./Math/ErrorPolicy.h
./Math/Vector2.h
./Math/Matrix44.h
./Math/Constants.h
./Math/Transpose.h
./Math/Barycentric.h
./Math/Sphere.h
./Math/Angle.h
./Math/MinMax.h
./Math/Finite.h
./File/InputFile.h
./File/Find.h
./File/AsciiInputFile.h
./File/BaseFile.h
./File/Temp.h
./File/BinaryInputFile.h
./Cast/Cast.h
./Endian/Endian.h
./Types/Types.h
)

set ( source_files
./Base/Object.cpp
./Base/Ref/Careful.cpp
./Registry/Node.cpp
./Registry/Visitor.cpp
./Registry/Database.cpp
./User/Directory.cpp
./System/Host.cpp
./System/LastError.cpp
./System/DateTime.cpp
./System/Environment.cpp
./System/Clock.cpp
./System/Sleep.cpp
./System/UniqueId.cpp
./System/ProcessUnix.cpp
./System/Process.cpp
./CommandLine/Arguments.cpp
./Jobs/Queue.cpp
./Jobs/ManagerQueues.cpp
./Jobs/Job.cpp
./Plugins/Library.cpp
./Plugins/ManagerPlugins.cpp
./Threads/UnixMutex.cpp
./Threads/Mutex.cpp
./Errors/Assert.cpp
./Documents/ManagerDocuments.cpp
./Documents/Document.cpp
./Documents/FileDocument.cpp
./Factory/ObjectFactory.cpp
./File/InputFile.cpp
./File/Temp.cpp
./File/AsciiInputFile.cpp
./File/BinaryInputFile.cpp
./File/BaseFile.cpp
./Types/Types.cpp
)

include_directories ( ../ ${TBB_INCLUDE_DIR} )

set ( TARGET_NAME Usul )
if (BUILD_STATIC_LIBRARIES)
	set ( TARGET_NAME ${TARGET_NAME}${HAF_STATIC_SUFFIX} )
endif ()

add_library ( ${TARGET_NAME} ${LIBRARY_TYPE} ${header_files} ${source_files} )

HAF_SETUP_LIBRARY ( ${TARGET_NAME} )

target_link_libraries ( ${TARGET_NAME} ${TBB_LIBRARY} ${Boost_LIBRARIES} )
